import request from '@/utils/request'

/**
 * 发送系统通知消息
 * @param {Object} data - 请求参数
 * @param {File|Blob} data.file - 附件文件（可选）
 * @param {String} data.title - 消息标题（可选）
 * @param {String} data.content - 消息内容（可选）
 * @returns {Promise} 返回 Promise
 */
export function sendSystemMessage(data) {
    const formData = new FormData()
    if (data && data.title !== undefined) {
        formData.append('title', data.title)
    }
    if (data && data.content !== undefined) {
        formData.append('content', data.content)
    }
    if (data && data.file) {
        formData.append('file', data.file)
    }

    return request.post('/management/system/message/send', formData)
}

/**
 * 获取已发送的系统消息列表（分页）
 * @param {Object} params - 请求参数
 * @param {Number} params.page - 页码（必填，从1开始）
 * @param {Number} params.pageSize - 每页数量（必填）
 * @returns {Promise} 返回 Promise
 */
export function getSystemMessagePage(params) {
    // 接口页码从1开始，与前端一致
    const page = Math.max(1, Number(params.page) || 1)
    const pageSize = Math.max(1, Number(params.pageSize) || 10)

    return request.post('/management/system/message/page', {
        page: page,
        pageSize: pageSize
    })
}

/**
 * 获取系统通知消息详情
 * @param {Object} params - 请求参数
 * @param {String} params.messageId - 消息ID（必填）
 * @returns {Promise} 返回 Promise
 */
export function getSystemMessageDetail(params) {
    return request.get('/management/system/message/detail', {
        params: {
            messageId: params.messageId
        }
    })
}

